package com.tduck.cloud.poster.util;

import cn.hutool.core.img.FontUtil;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.util.StrUtil;

import java.awt.*;
import java.io.InputStream;

/**
 * @author : tduck
 * @description : 字体工具类
 * @create :  2023/02/01 14:15
 **/
public class FontUtils {
    /**
     * 获取字体
     */
    public static Font getFont(String fontName) {
        if (StrUtil.isBlank(fontName)) {
            return FontUtil.createFont();
        }
        // 从系统中获取字体
        Font font = Font.getFont(fontName);
        if (font == null) {
            // 如果系统中没有，则从项目中获取
            InputStream stream = ResourceUtil.getStream("fonts/" + fontName + ".ttf");
            if (stream != null) {
                font = FontUtil.createFont(stream);
            }
        }
        // 默认字体
        if (font == null) {
            font = FontUtil.createFont();
        }
        return font;
    }
}
